AutoScaling で EC2 インスタンスが起動せずに「You cannot specify tags for Spot instances requests if there are no Spot instances requests being created by the request.」エラーが表示されるときの対処方法
困っていた内容
AutoScaling で EC2 インスタンスが起動しません。
対象の Auto Scaling グループの[アクティビティ履歴]を確認すると以下のエラーが表示されます。
Launching a new EC2 instance. Status Reason: You cannot specify tags for Spot instances requests if there are no Spot instances requests being created by the request. Launching EC2 instance failed.
または
Launching a new EC2 instance. Status Reason: Could not launch On-Demand Instances. InvalidParameterValue - You cannot specify tags for Spot instances requests if there are no Spot instances requests being created by the request. Launching EC2 instance failed.
対処方法について教えてください。
どう対応すればいいの?
Auto Scaling グループに紐づけている起動テンプレートのバージョンで、スポットインスタンスにタグ付けする設定になっている一方で、スポット購入のオプションが有効化されていません。この場合、スポット購入のオプションを有効化することでエラーを解消できます。
※ スポットインスタンスを使用したくない場合:リソースタグから「スポットインスタンスリクエスト」を外した起動テンプレートのバージョンを作成し、Auto Scaling グループにそのバージョンを適用してください。
確認方法
Auto Scaling グループに紐づけている起動テンプレートのバージョンの設定をご確認ください。
起動テンプレートのバージョンの[詳細]タブから[リソースタグ]を確認すると、スポットインスタンスリクエストにタグをつける設定となっております。
しかし、[高度な詳細]を開くとスポット購入のオプションが有効化されていません。
対応方法
以下にて対応方法を説明します。
Auto Scaling グループに紐づけている起動テンプレートのページで対象のバージョンを選択した状態でアクションボタンをクリックし、「テンプレートを変更(新しいバージョンを作成)」を選択します。
[高度な詳細]をクリックして購入オプションの「スポットインスタンスをリクエスト」にチェックマークを入れ、テンプレートのバージョンを作成ボタンをクリックします。
そして対象の Auto Scaling グループのページに戻り、編集ボタンをクリックします。
先ほど作成した起動テンプレートのバージョンを選択し、更新ボタンをクリックします。
エラーが解消されて、EC2 インスタンスが起動されました!